﻿<?xml version="1.0" encoding="utf-8"?>
<!--
To verify the user.cfg file against the XSD scheme add the following to the FCParameters element:
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="XSD_FILE_PATH"
-->
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="FCParameters">
        <xs:complexType>
            <xs:sequence>
                <!-- This is the top-level parameter group -->
                <xs:element ref="FCParamGroup" minOccurs="1" maxOccurs="1"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="FCParamGroup">
        <xs:complexType>
            <xs:choice maxOccurs="unbounded">
                <xs:element ref="FCParamGroup" minOccurs="0" maxOccurs="unbounded"/>
                <xs:element minOccurs="0" maxOccurs="unbounded" name="FCText">
                    <xs:complexType>
                        <xs:simpleContent>
                            <xs:extension base="xs:string">
                                <xs:attribute name="Name" type="xs:string" use="required" />
                            </xs:extension>
                        </xs:simpleContent>
                    </xs:complexType>
                </xs:element>
                <xs:element minOccurs="0" maxOccurs="unbounded" name="FCBool">
                    <xs:complexType>
                        <xs:attribute name="Name" type="xs:string" use="required" />
                        <xs:attribute name="Value" type="xs:unsignedByte" use="required" />
                    </xs:complexType>
                </xs:element>
                <xs:element minOccurs="0" maxOccurs="unbounded" name="FCInt">
                    <xs:complexType>
                        <xs:attribute name="Name" type="xs:string" use="required" />
                        <xs:attribute name="Value" type="xs:int" use="required" />
                    </xs:complexType>
                </xs:element>
                <xs:element minOccurs="0" maxOccurs="unbounded" name="FCFloat">
                    <xs:complexType>
                        <xs:attribute name="Name" type="xs:string" use="required" />
                        <xs:attribute name="Value" type="xs:decimal" use="required" />
                    </xs:complexType>
                </xs:element>
                <xs:element minOccurs="0" maxOccurs="unbounded" name="FCUInt">
                    <xs:complexType>
                        <xs:attribute name="Name" type="xs:string" use="required" />
                        <xs:attribute name="Value" type="xs:unsignedInt" use="required" />
                    </xs:complexType>
                </xs:element>
            </xs:choice>
            <xs:attribute name="Name" type="xs:string" use="required" />
        </xs:complexType>
    </xs:element>
</xs:schema>
